[PATCH] Install gtest from distro
authorTheAssassin <theassassin@assassinate-you.net>
Mon, 25 Nov 2024 04:01:02 +0000 (05:01 +0100)
committerPino Toscano <pino@debian.org>
Sun, 18 Jan 2026 11:56:35 +0000 (12:56 +0100)
Allows us to remove the custom install scripts from CMake.

Gbp-Pq: Name upstream_Install-gtest-from-distro.patch

.gitmodules [deleted file]
CMakeLists.txt
ci/install-deps.sh
cmake/dependencies.cmake
lib/CMakeLists.txt [deleted file]
tests/libappimage/CMakeLists.txt
tests/libappimage/desktop_integration/CMakeLists.txt
tests/libappimage/legacy/CMakeLists.txt

diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644 (file)
index cd6332f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "lib/gtest"]
-       path = lib/gtest
-       url = https://github.com/google/googletest.git
index b432ed37a1c1bf254df94470d61f568f01eeab31..e52810ff8e72782b7b61a79c042ce087a2d005ab 100644 (file)
@@ -46,7 +46,6 @@ endif()
 # used by e.g., Debian packaging infrastructure
 include(GNUInstallDirs)
 
-add_subdirectory(lib)
 add_subdirectory(src)
 
 if(BUILD_TESTING)
index 2f2e45ea6b28b6df5f3c4c8288013450d85ee789..d9a767cca81ea8fda2469d5f6e7b10c4ff7b0ec1 100755 (executable)
@@ -58,6 +58,7 @@ packages=(
     cmake
     lcov
     gcovr
+    libgtest-dev
 )
 
 apt-get update
index a1509c90c77c4b38214ffa24fef0faa14122dfd8..cd625c976f1474dc261b9d2290bb8767e2ba4d71 100644 (file)
@@ -1,5 +1,6 @@
 # >= 3.2 required for ExternalProject_Add_StepDependencies
-cmake_minimum_required(VERSION 3.2)
+# >= 3.20 for FindGTest IMPORTED target
+cmake_minimum_required(VERSION 3.20)
 
 include(${CMAKE_CURRENT_LIST_DIR}/scripts.cmake)
 
@@ -36,6 +37,10 @@ set(LDFLAGS ${DEPENDENCIES_LDFLAGS})
 
 set(USE_SYSTEM_XZ OFF CACHE BOOL "Use system xz/liblzma instead of building our own")
 
+if(BUILD_TESTING)
+    find_package(GTest REQUIRED)
+endif()
+
 if (NOT LIBAPPIMAGE_SHARED_ONLY)
     if(NOT USE_SYSTEM_XZ)
         message(STATUS "Downloading and building xz")
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
deleted file mode 100644 (file)
index 4daa663..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-cmake_minimum_required(VERSION 3.0)
-
-include(CTest)
-
-if(BUILD_TESTING)
-    if(NOT TARGET gtest)
-        if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/gtest)
-            add_subdirectory(gtest EXCLUDE_FROM_ALL)
-        else()
-            message(FATAL_ERROR "gtest submodule not found; please call git submodule update --init or disable the unit tests using -DBUILD_TESTING=OFF")
-        endif()
-    endif()
-endif()
index a5b4b5222b97c98592c9b6cacd6a9a01b8272a95..c0551a407070417a060963fbd6181d8e82fd3f03 100644 (file)
@@ -23,7 +23,7 @@ if (NOT LIBAPPIMAGE_SHARED_ONLY)
     )
 
     target_include_directories(test_libappimage++ PRIVATE "${PROJECT_SOURCE_DIR}/src/libappimage")
-    target_link_libraries(test_libappimage++ libappimage Boost::filesystem libarchive libsquashfuse XdgUtils::DesktopEntry XdgUtils::BaseDir gtest gtest_main)
+    target_link_libraries(test_libappimage++ libappimage Boost::filesystem libarchive libsquashfuse XdgUtils::DesktopEntry XdgUtils::BaseDir GTest::gtest GTest::gtest_main)
 
     add_test(test_libappimage++ test_libappimage++)
 endif()
index a5296f780335c35d111150a24ebd741a3f1a2baa..d76bd4a71a8afbf8b23018fb3af1ad43fd4791fb 100644 (file)
@@ -39,8 +39,8 @@ target_link_libraries(
     # statically once glib is loaded.
     PRIVATE libglib
     PUBLIC dl
-    PRIVATE gtest
-    PRIVATE gtest_main
+    PRIVATE GTest::gtest
+    PRIVATE GTest::gtest_main
     PRIVATE librsvg
     PRIVATE libcairo
 )
index 874d92def50f8d71da2c80ce8c774e0b2c6612bd..f2a57a5384d894cac9c6645d8fa0facecc890352 100644 (file)
@@ -4,7 +4,7 @@ set_property(TARGET fixtures PROPERTY INTERFACE_LINK_LIBRARIES xdg-basedir gtest
 
 if (NOT LIBAPPIMAGE_SHARED_ONLY)
     add_executable(test_libappimage test_libappimage.cpp)
-    target_link_libraries(test_libappimage fixtures libappimage libsquashfuse libglib libgobject gtest gtest_main)
+    target_link_libraries(test_libappimage fixtures libappimage libsquashfuse libglib libgobject GTest::gtest GTest::gtest_main)
 
     add_executable(test-xdg-basedir test-xdg-basedir.cpp)
     target_link_libraries(test-xdg-basedir fixtures xdg-basedir)